package com.company.pangu.aliyun.risk.request;

import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * <p>阿里云文本检测</p >
 * https://help.aliyun.com/document_detail/70439.html?spm=a2c4g.11186623.6.701.5ebf4cactYviuu
 *
 * @author Nikola Tesla
 * @version 1.0
 * @date 2021/4/6
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RiskTextScanRequest {

    /**
     * 该字段用于标识您的业务场景。
     */
    private String bizType = "sa";

    /**
     * 指定检测对象，JSON数组中的每个元素是一个检测任务结构体。
     * 最多支持100个元素，即每次提交100条内容进行检测，支持100个元素的前提是需要将并发任务调整到100个以上。
     */
    private List<Task> tasks;

    /**
     * 指定检测场景，取值：antispam，表示文本内容检测。
     */
    private List<String> scenes = Lists.newArrayList("antispam");

    /**
     * 任务
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static final class Task {

        /**
         * 检测对象对应的数据ID。(非必填)
         * 由大小写英文字母、数字、下划线（_）、短划线（-）、英文句号（.）组成，不超过128个字符，可以用于唯一标识您的业务数据。
         */
        private String dataId;

        /**
         * 待检测文本，最长10000个中文字符（包含标点）。
         */
        private String content;

    }

}
